<!doctype html>
<html>
 <head>
  <script src="https://unpkg.com/dexie@latest/dist/dexie.js"></script>
  <script>
   //
   // Declare Database
   //
   var db = new Dexie("FriendDatabase");
   db.version(1.1).stores({
     friends: "++id,age,name",
     strangers:"++id,age,name",
     other:"++id,age,name"
   });

   //
   // Manipulate and Query Database
   //
   db.friends.add({name: "goodguy", age: 21}).then(function() {
       return db.friends.where("age").below(25).toArray();
   }).then(function (goodgguy) {
       alert ("My good friends: " + JSON.stringify(goodgguy));
   }).catch(function (e) {
       alert ("Error1: " + (e.stack || e));
   });

   db.strangers.add({name: "badguy", age: 22}).then(function() {
       return db.strangers.where("age").below(25).toArray();
   }).then(function (badguy) {
       alert ("My bad friends: " + JSON.stringify(badguy));
   }).catch(function (e) {
       alert ("Error2: " + (e.stack || e));
   });
  </script>
 </head>
</html>
<!-- table操作 -->
<!-- https://dexie.org/docs/Tutorial/ -->

<!-- npm -->
<!-- https://www.npmjs.com/package/dexie -->

<!-- 在你给出的代码示例中，数据库中的表、列和索引可以对应如下部分：

表（Table）：在代码中，db.version(1).stores 方法中定义了两个存储空间（friends 和 strangers），它们分别对应数据库中的两个表。
列（Column）：在代码中，friends 表和 strangers 表都有 name 和 age 两个列。
索引（Index）：在代码中，++id 表示自动生成的递增主键索引，用于唯一标识每一条记录。此外，还可以使用其他属性作为索引，例如 age 和 name，以便在查询时提高性能。
综上所述，你给出的代码示例中的 friends 表和 strangers 表分别对应数据库中的两个表，每个表包含 name 和 age 两个列，并且使用 ++id、age 和 name 作为索引。 -->
